Bluetooth Profile
Bluetooth Profile とは
Bluetooth デバイスにはそれ自体にも種類が様々あり、伝送し合うデータも多様である。例えば、電話とヘッドフォンを接続したり、パソコンとキーボードもしくはマウスを接続したりする。
Bluetooth デバイス同士はそのコネクションを確立した後、実際に通信を開始する必要があるが、デバイス間で異なる通信プロトコルを用いた場合は正常に交信できない。交信のためには、共通のプロトコルに則り、その目標達成 (例えば、音声データのやりとりや、マウス/キーボードによる操作等) のための機能を提供する必要がある。Bluetooth profile は、このためにプロトコル、及びその利用方法を定義、提供する。
Bluetooth デバイスは、例えば電話とヘッドフォン、マウスもしくはキーボードとパソコン同士を接続させ、様々な種類の情報をやり取りできる。それらの異なる機能が定義されているのが、各々に対応する profile である。
もっと言うと、
Bluetooth アーキテクチャの各レイヤ(PHY, Baseband, Link Manager, L2CAP) 及び他のプロトコルにおいて必要な機能、特徴を定義する
デバイス間のP2Pの相互作用のように、レイヤ間の縦方向の相互作用について定義する
アプリケーションの振る舞い、及びデータフォーマットを定義する
https://gyazo.com/d2235896325e800935c52a9913a4b6b3
代表的な Profile は以下。
table:Bluetooth Profile
略称 名称 主な対応機器 概要
A2DP Advanced Audio Distribution Profile ヘッドフォン、カーステレオ 高品質なステレオサウンドの伝送を可能にする
AVRCP Audio/Video Remote Control Profile リモコン 音楽/映像の再生/停止を可能にする
HSP Handset Profile 携帯とデバイスとの基礎的な通信を可能にする
HFP Hands Free Profile 車内のオーディオデバイス HSP の拡張。携帯を遠隔操作 (電話に出る/切る等) を可能にする
HIDP Human Interface Device Protocol マウス、キーボード デバイスの周辺機器のサポートを提供する
BLUETOOTH SPECIFICATION Version 5.0 | Vol 1, Part A | 6.1
GAP
Generic Access Profile
全ての Bluetooth デバイスで実装される Profile
全ての他の Profile は、GAP の Superset となる
Generic Profile
再利用可能な Profile を定義でき、汎用プロファイル (Generic Profile) と呼ぶ
GAP や他の Profile の Superset として定義可能
Application Profile
アプリケーションの相互作用について記述しているトップレベルのプロファイルを Application profile と呼ぶ
Application profile は、GAP および Generic Profile への参照を含む
https://gyazo.com/644f5b7118fd404dcd040d564fe0abb5
その他
Profile には伝統的プロファイルと、GATT ベースのプロファイルが存在し、後者は Bluetooth LE で主に利用される。そもそも GATT 自体が Bluetooth LE 用である。 HID over GATT 等の GATT ベースのプロファイルの仕様が以下にあるようだ。